#!/bin/bash
# run_full_pipeline.sh
# 注：此脚本用于在 OpenCloudOS 9 Docker 环境或兼容的 Linux 环境中运行。
# 它不负责启动 LLM API 服务。LLM 服务应已在外部（如用户的 mbaM4）独立运行。

# 确保在任何命令失败时立即退出
set -e 

# 获取脚本所在目录
REPO_DIR=$(dirname "$0")
cd "$REPO_DIR"

echo "================================================"
echo "=== 启动 OpenCloudOS AI 软件自动化验证流水线 ==="
echo "================================================"

# 0. 确保 logs 目录存在
mkdir -p logs

# 1. 激活 Python 虚拟环境 (如果存在)
echo "=== (1/3) 激活 Python 虚拟环境 ==="
if [ -f ".venv/bin/activate" ]; then
    source .venv/bin/activate
    echo "✅ 已激活主验证流水线的 Python 虚拟环境。"
else
    echo "警告: 未找到主验证流水线的 Python 虚拟环境 (.venv/bin/activate)。将使用系统 Python 环境。"
fi


# 2. 生成测试用例 (test_generator.py 会自行检查 LLM 可用性)
echo "=== (2/3) 生成测试用例 (包括 GitHub 发现、LLM 分析和静态包) ==="
# 注：test_generator.py 内部会负责 LLM 服务的健康检查，并根据结果决定是否使用 LLM。
# 这里不需要额外的 shell 逻辑来判断 LLM 服务状态。
python3 test_generator.py --static-config config.yaml --github-config github_discovery_config.yaml

# 3. 运行自动化验证
echo "=== (3/3) 运行自动化验证 (在 OpenCloudOS 9 容器中) ==="
python3 test_runner.py

echo "================================================"
echo "✅ 全部任务完成！查看 logs/ 目录获取验证结果。"
echo "================================================"
